home *** CD-ROM | disk | FTP | other *** search
/ Mac100% 1998 November / MAC100-1998-11.ISO.7z / MAC100-1998-11.ISO / オンラインソフト定点観測 / ユーティリティ / Shane the Plane 2.0.2.sit / Shane the Plane 2.0.2 / Fly SAFE with Shane the Plane! < prev    next >
Text File  |  1998-08-01  |  74KB  |  1,436 lines

  1.  
  2.  
  3.  
  4. Fly SAFE with Shane the Plane!
  5.  
  6. (A Power User's manual for Power User's software)
  7.  
  8.  
  9. Documenting: Shane the Plane (version 2.0.2) ゥ 1998 by Greg Swann
  10.  
  11. 8/1/98
  12.  
  13. Greg Swann
  14.  
  15. gswann@kagi.com
  16. gswann@primenet.com
  17.  
  18. USPS: 3608 West Cochise Drive
  19.       Phoenix, AZ 85051
  20.  
  21.  
  22.  
  23.  
  24. Table of Contents
  25.  
  26. 0. Entirely UNFAIR warnings...
  27.  
  28. 1. Introductory Chatter...
  29.  
  30. 2. Commercial, legal and other pertinent notices...
  31.  
  32. 3. Shane the Plane - the quick hop...
  33.  
  34. 4. Transcontinental Shane the Plane...
  35.  
  36. 5. Not for Flight Engineers only...
  37.  
  38. 6. About Greg Swann...
  39.  
  40. 7. Conclusion...
  41.  
  42. Appendix: Real World Shane the Plane by Kip Shaw
  43.  
  44.  
  45.  
  46.  
  47. 0. Entirely UNFAIR warnings...
  48.  
  49. Don't say you weren't warned: This software is DANGEROUS!
  50.  
  51. Repeating: THIS SOFTWARE IS DANGEROUS!!
  52.  
  53. Nothing is buggy. Everything works as documented. But: almost everything
  54. we're doing here is _inherently_ dangerous. This is most emphatically
  55. _NOT_ intended to be used by novices. This is Power User's software
  56. intended to be used by Power Users. There is nothing being done here
  57. that could not be done by other (much slower) means, but many of the
  58. functions performed by Shane the Plane would require special software
  59. and a deep knowledge of Macintosh topology. Shane the Plane offers fast,
  60. convenient brute-force to people who _could_ do these jobs manually. If
  61. you could not, do yourself (and your "guru") a favor and drop out now.
  62. It's no stain to save yourself unnecessary pain (grin).
  63.  
  64. There will be little warnings all the way through this manual, but I
  65. wanted to establish a Global Warning Trend (groan!) right at the top: if
  66. you don't know what the hell I'm talking about in this document (and I'm
  67. deliberately not making things too easy), take that as your cue that
  68. this is not for you. I'm not trying to talk my way out of your money,
  69. but I surely don't want your money for giving you the means to
  70. irreparably damage your files (taking careful note that it will be your
  71. own damn fault if your do!).
  72.  
  73. On the other hand: if you _are_ a Macintosh adept, hang in. This is
  74. definitely a jet-powered file-attribute management utility. The whole
  75. point is learning to Fly SAFE with Shane the Plane...
  76.  
  77.  
  78.  
  79. 1. Introductory Chatter...
  80.  
  81. This is a further development on the gross concept of the original Shane
  82. the Plane (version 1.0.x), a FreeWare program that can be found on
  83. CompuServe and other electronic information services. The original Shane
  84. the Plane optionally changed the creator and type of files, and/or their
  85. created/modified dates and times. Shane the Plane version 2.0.2, this
  86. software, continues to do that stuff, but it also intelligently renames
  87. files, inserts the file's name as a "slug" in text files, and permits
  88. really radical batch editing of significant Finder flags (for example,
  89. you can "Paste" custom icons into a huge batch of files very quickly).
  90.  
  91. The original FreeWare Shane the Plane is available and will always be
  92. available for free. But: Shane the Plane 2.0.2 is commercial software:
  93. you can't use it (for long) without paying me. The copy of Shane the
  94. Plane in this archive is a DemoWare version that will permit up to 32
  95. launches and then forevermore refuse to do anything but be an automated
  96. salesman. It is a _fully functional_ demo. Nothing is crippled. The only
  97. inhibition is the one named: 32 launches, max. See "Commercial, legal
  98. and other pertinent notices" below for information on how to purchase
  99. unrestricted copies of Shane the Plane.
  100.  
  101.  
  102. This software is named for Shane Stanley, de facto product manager for
  103. all of my commercial programs and the quiet voice of reason behind
  104. virtually everything I do. Shane has been unstinting in the benefits he
  105. has conferred upon me, and I can never hope to repay him. We've worked
  106. together for a little over a year, and in that time my respect for him
  107. has grown geometrically. He's a very valuable business associate (to the
  108. extent that you can call what I do a business), but _much_ more
  109. important, he's a very highly valued friend. I'm proud to have produced
  110. a piece of software that is _almost_ worthy of its namesake.
  111.  
  112. Here's the story: when we were working on version 1.0.0 of Shane the
  113. Plane, I was casting about for a name. I had already written two pieces
  114. of software named after Shane, but neither was released - the second
  115. because it was trivial and the first because it was a little too
  116. user-friendly... But I wanted to name something (useful) in his honor,
  117. and I'd been waiting for the right thing. It happens that I was talking
  118. to my four-year-old daughter, Meredith, (in a very general way) about
  119. this project, and I asked her what I should call it. "Shane the Plane,"
  120. she said, that being her name for all airplanes. Shane's name comes up
  121. in conversation a lot, and she worked out the rhyme on her own. And
  122. names for "things" are a big deal right now; the computer I'm working on
  123. is named "Amber", after Meredith's favorite kind of traffic light. Meri
  124. made the original icon, a biplane painted brown to blend into the rugged
  125. outback of Shane's native Australia. She also made the jet icon that
  126. graces this version.
  127.  
  128. With some validity, this could be named after Kip Shaw, since it was he
  129. who got me thinking about many of the problems it solves. Notably,
  130. creator/type changing, intelligent file renaming, and text file
  131. "slugging" are all responses to conversations with Kip about things we'd
  132. like to be able to do. Renaming and slugging are pieces of a software
  133. puzzle Kip is putting together to automate a significant part of his
  134. publishing work. Another piece of that same puzzle is the FreeWare
  135. program ShawBerry, named after Kip, which is stored on CompuServe (as
  136. BERRY.CPT in Library 5 of the DTPForum) and other electronic information
  137. services.
  138.  
  139.  
  140. Shane and Kip were the beta testers for this version of Shane the Plane,
  141. and, as always, they have my gratitude. Even more than "always",
  142. perhaps, since they were testing a huge piece of software that was
  143. largely in flux until the bitter end.
  144.  
  145.  
  146. TechnoBabble: Shane the Plane is compatible with Systems 8, 7 and 6. It
  147. is AppleEvent-aware, so, presumably, you could script to it from an
  148. intelligent agent. It's 32-bit clean, MultiFinder aware, a real fun date
  149. - all the usual stuff. In short (there will be much more later), it's
  150. everything you expect of up-to-the-microsecond Macintosh software.
  151.  
  152.  
  153. New in this version: Version 2.0.2 implements only two changes: We fixed
  154. a tiny bug in the case conversion routines in 'Rename with wildcards'
  155. and we updated the ordering information (and this manual) to reflect our
  156. assocation with www.kagi.com, an automated software ordering fulfillment
  157. service.
  158.  
  159.  
  160. Notes on this text: this file is written as plain text in DOS-like
  161. fashion (i.e., every line ending is a carriage return). It is produced
  162. in a FreeWare Programmer's editor called BBEdit by Rich Siegel (which is
  163. recommended). I've had mail about this, so I'll explain: I produce
  164. documents this way because doing so makes no presumptions about what
  165. software and fonts you might own. _Most_ word processors can open, e.g.,
  166. MS-Word files. But _all_ word processors can open _this_ file.
  167.  
  168.  
  169.  
  170. 2. Commercial, legal and other pertinent notices...
  171.  
  172. As mentioned above, this is a DemoWare version of Shane the Plane, fully
  173. functional but limited to 32 launches. The full unrestricted commercial
  174. release can be obtained from Greg Swann at:
  175.  
  176.     3608 West Cochise Drive
  177.     Phoenix, AZ 85051
  178.  
  179. Licenses are sold per machine, with a single license costing $50;
  180. 2-10 licenses are $45 each; and for 11 or more licenses you're
  181. better off buying a site license. All of this is explained in the
  182. registration software supplied with this archive.
  183.  
  184. Why is this version DemoWare? As with everything in my life, there is
  185. philosophy here: I don't like crippled software. I don't think much of
  186. ShareWare. And I almost never buy "a pig in a poke". In deciding on a
  187. marketing scheme, I looked for something that would be most appealing to
  188. _me_, were I in your shoes. This is what I've come up with: a fully
  189. functional demo that lets you _find out_ if Shane the Plane is a useful
  190. tool in your working environment. If it is (and obviously _I_ think it
  191. will be), then pay me. If it isn't, then ditch it when it starts to
  192. offer to make coupons for you as a full-time gig. A good deal all
  193. around, I think: no guilt for you, no guilting for me; maybe useful
  194. software for you, maybe useful money for me (grin).
  195.  
  196. Shane the Plane, its source and executable code, and this poor excuse
  197. for a manual are Copyright (C) 1998 by Greg Swann. All rights are most
  198. emphatically reserved.
  199.  
  200. The unrestricted (non-DemoWare) version of Shane the Plane is licensed
  201. for use on one machine by the person who paid for it. If you didn't pay
  202. for it, please do! I am one person, with a long-suffering family, not
  203. Conglomerated MegaSoft (not to imply that there's any virtue in ripping
  204. _them_ off!).
  205.  
  206. Shane the Plane is delivered "as is", without any warranties, expressed
  207. or implied. It is not warranted to be useful _to_ anyone, _for_
  208. anything, and in no wise am I to be held responsible for any unfortunate
  209. consequences resulting from its use or misuse. And I _hate_ having to
  210. say things like that. I do my best to write useful, simple, elegant,
  211. bug-free solutions to difficult problems. If you take it into your head
  212. that I represent your big chance to "strike it rich", you will pay a lot
  213. in legal fees to discover that you have miscalculated.
  214.  
  215. And: to those to whom the above disclaimers do not apply: forgive me for
  216. having to make them. It's _you_ whom I'm working for, for pay or for
  217. free. I appreciate your patronage and your support, and I wish we all
  218. could just comb the others out of our hair...
  219.  
  220. (Hey, it's a real 'personal' software company! (grin))
  221.  
  222.  
  223.  
  224. 3. Shane the Plane - the quick hop...
  225.  
  226. This is an accelerated introduction to Shane the Plane's features and
  227. functions. Frankly, I think you should read the detailed instructions
  228. below. But if you're simply in _too_ big a hurry, this will get you
  229. airborne with Shane the Plane.
  230.  
  231. Here's what you do: Drag & Drop _copies_  of some files on the icon or
  232. an alias of it. Set some switches. Hit Start. If the results aren't all
  233. you dreamed, try again. Hammer away all afternoon, if necessary. This is
  234. the _Mac_, dammit, and we are constitutionally exempted from reading
  235. manuals, even when doing so would be _far_ faster than "intuiting"...
  236. (wry grin)
  237.  
  238. Seriously: if you reason well, you can puzzle this out on your own. But:
  239. if you reason well, perhaps a word to the wise will be sufficient: This
  240. software is DANGEROUS!
  241.  
  242. In other words, _please_ take the time to find out what all these
  243. controls and switches do. Noodle around with copies of files until
  244. you're comfortable with the jobs you'll be doing. Back off and re-read
  245. as soon as something you hadn't expected happens. Commit yourself to
  246. this software _only_ when you've committed its behavior to memory. By
  247. being modal (to the point of user-hostility in places) we're insulating
  248. you from the worst consequences. But the next-to-worst are very far from
  249. good, and I'd hate for anyone to "quick-start" their way into a slow
  250. restoration...
  251.  
  252. ...now do as you will.
  253.  
  254.  
  255.  
  256. 4. Transcontinental Shane the Plane...
  257.  
  258. (If you use other software by me, there are a couple of big differences
  259. in Shane the Plane from my normal methods. First, because it seemed
  260. likely to me that few Shane the Plane jobs would use the previously
  261. established preferences, you _must_ hit the Start button for execution
  262. to begin on a Drag & Drop batch of files. In other words, my expectation
  263. is that nearly every job will require some switch-setting, so the
  264. default behavior is to make you explicitly assert your readiness to
  265. begin by hitting the Start button. Second, all of the changes made by
  266. Shane the Plane are done "in place"; no new files are created. Normally,
  267. my stuff copies from the source file to a new (uniquely named)
  268. destination file, leaving the source untouched. Since Shane the Plane
  269. exists to modify pre-existing files, that is not done here. This is not
  270. terribly important except for this: if something goes badly wrong, your
  271. file(s) may be toasted. We are watching our own butt (and yours), but
  272. there's no accounting for acts of nature, etc. In truth, where we are
  273. doing dangerous things, we are doing them in the same way they are done
  274. by software costing 10 times as much as Shane the Plane. But: be careful
  275. anyway. If a file is irreplaceable, then work on a copy, replacing the
  276. original only when you're sure all is well. (This is good advice in
  277. general!))
  278.  
  279. Shane the Plane runs out of a single dialog box, plus the menu bar.
  280. About and Quit are familiar to everyone. The Command key equivalents for
  281. Copy, Paste, and Cut work. Restore defaults restores all settings to
  282. their "factory" defaults. Restore saved preferences restores the
  283. settings to those most recently saved. And Save preferences saves the
  284. current settings as the future defaults to use at launch time. In other
  285. words, if you have a set of operations you do endemically, make those
  286. your saved preferences. Then, when you have a job that doesn't fit the
  287. mold, make temporary changes, execute the job, and quit without saving
  288. the preferences.
  289.  
  290. There is a special logic to the way Shane the Plane handles files
  291. delivered by Drag & Drop (available with System 7 and above). Works like
  292. this:
  293.  
  294. 1. If Shane the Plane is launched by means of Drag & Drop, the settings
  295. you establish are applied to that batch of files when you hit the Start
  296. button, and then Shane the Plane quits without having to be told to
  297. quit.
  298.  
  299. 2. If you launch by double-clicking on the icon (or an alias of it),
  300. then Shane the Plane must be quit explicitly (that is, you must select
  301. Quit from the File menu or type Command-Q). If you hit the Start button
  302. (without having Dragged & Dropped files), you will be presented with a
  303. Standard File dialog box from which you can select _one_ file, which
  304. will then be processed with the settings you have established (this is
  305. the only way of using Shane the Plane with System 6). On the other hand,
  306. if you double-click launch and then Drag & Drop files, the settings you
  307. establish are applied to that batch of files when you hit the Start
  308. button, but Shane the Plane _does not_ Quit on its own at the end of the
  309. batch.
  310.  
  311. (There is one exception to this logic: when you have Dropped a batch of
  312. files, a "Clear batch" button becomes visible. If you hit that button,
  313. the batch of files will be cleared from memory, and Shane the Plane will
  314. revert to the interactive state. In other words, if you launch with a
  315. Drag & Drop batch, the software will Quit automatically after processing
  316. if you hit Start, but will _not_ Quit if you hit Clear batch.)
  317.  
  318. In this way you get the best of all worlds: quick, non-intrusive Drag &
  319. Drop, fully interactive operation, or interactive Drag & Drop.
  320.  
  321. (Important: when files are processed by Drag & Drop, we are giving you a
  322. great deal of information about their native state (viz., creator and
  323. type, current Finder flags settings, file names, etc.). We can't give
  324. you this news about files processed interactively (the System 6 way),
  325. since we but barely know it before it's old news. The _best_ reason to
  326. use Shane the Plane by Drag & Drop is that it's _much_ faster. But this
  327. is _another_ reason: it's a much more information-rich (hence safer) way
  328. to fly...)
  329.  
  330. (Also important: certain features of Shane the Plane take advantage of
  331. Finder features available _only_ with System 7 and above. These are:
  332. Lock file name and the three check boxes relating to custom icons. These
  333. check boxes will be disabled if you launch with System 6.)
  334.  
  335. In the dialog, there are five primary check boxes that govern the
  336. behavior of the subsidiary controls indented beneath them. If the
  337. primary check box is checked, the controls beneath are honored;
  338. otherwise they're ignored. The "factory" settings for the primary check
  339. boxes have them all unchecked. If you make any demonstrably affirmative
  340. change to a subsidiary control, the appropriate primary control will be
  341. checked automatically. The primary check boxes are these:
  342.  
  343.  
  344. Change creator/type: changes the creator and type of the file(s)
  345. selected (surprise). The two text fields beneath the check box allow you
  346. to establish which Creator and Type codes to use. These default to
  347. 'R*ch' and 'TEXT' because that's what I need most often (and whom should
  348. I please if not myself? (grin)). You can use '****' as a wildcard
  349. meaning, "Stet. Leave this field the way it is". If you Drag & Drop
  350. files, the Geneva text under the text fields is the creator and type of
  351. the _first_ file in the batch. Reasonably intelligent error-checking is
  352. going on in these fields when you hit the Start button.
  353.  
  354.  
  355. Change Finder flags: This is very complicated, so we're going to come
  356. back to it after dispensing with the others.
  357.  
  358.  
  359. Change date/time: The Change date/time check box controls whether or not
  360. the created and modified dates of the file(s) will be altered. If
  361. checked, both will be changed to the same date and time. The format
  362. shown in Geneva beneath the text fields is a reflection of your Control
  363. Panel date set-up. If you're set up for U.S.-style dates, you'll see
  364. "MM/DD/YY", and you must enter dates that way. If you're set up for
  365. non-U.S.-style dates, you'll see "DD/MM/YY", and you'll enter dates that
  366. way. No matter what, the times must be entered as "HH:MM:SS", using a
  367. 24-hour clock (i.e., the second before midnight is 23:59:59, and the
  368. second after midnight is 00:00:01). Reasonably intelligent
  369. error-checking is going on in these fields when you hit the Start
  370. button.
  371.  
  372. The date/time pop-up requires a bit of explanation because it does two
  373. things. First, it establishes the form that the date and time will take
  374. on the next launch (if you Save preferences). But it _also_ gives you 10
  375. plug-and-play options to use on the fly. Use preferences uses the
  376. strings from the most recently saved preferences, _not_ the result of
  377. the saved state of the pop-up itself. Likewise for Use defaults. These
  378. are provided so that you can store literal dates and times, as opposed
  379. to the software-generated forms used by the others.
  380.  
  381. Clear as mud? Here's the deal: we're actually "storing" the dates and
  382. times in two ways in the preferences. We're storing the current switch
  383. setting of the pop-up, _and_ we're storing the actual text of the
  384. editable fields. If you set the pop-up to Today at midnight, but _then_
  385. enter "01/02/98" in the date field, and then Save preferences, when you
  386. launch again, things will be thus: the pop-up and the date shown will
  387. reflect Today at midnight for every midnight of every today for all
  388. eternity. But: if you select Use preferences, you'll see "01/02/98".
  389. This will remain, steady as a rock, until the next time you Save
  390. preferences. This was done this way for a reason: suppose you want to
  391. modify work done over several days so that it all has the same date
  392. applied to it. You could wait and do the whole batch all at once. Or you
  393. could take advantage of this feature to date-stamp it as you go along.
  394. This feature is so well thought out that _no one_ understands it! (grin)
  395. Play with it in connection with Save preferences, and you'll see what's
  396. going on.
  397.  
  398. (And a brief word about date modification: it would be very easy to use
  399. this feature for fraudulent purposes. You could claim to have started
  400. something before you really did, swear up and down that you didn't make
  401. a change that you _did_ make, divert accusing fingers of blame toward
  402. unsuspecting innocents. This is one of the reasons that Created and
  403. Modified are not independently editable: I can't think of an honorable
  404. reason why anyone would need to do this. But, even so, it's still
  405. possible to commit fraud with Shane the Plane, and all I can say is
  406. this: I hope you don't. The finite time of your life is your only asset,
  407. and I would hope you wouldn't choose to squander it with ego-destructive
  408. acts...)
  409.  
  410. (And another brief word about date modification: certain disk repair
  411. utilities (notably The Norton Utilities) don't like files with odd
  412. dates. If you use this time machine to move files to the distant past,
  413. or to any point in the future, prepare to face a quizzical modal dialog
  414. from your disk fixer. No consequences, just an opportunity to fix or
  415. ignore.)
  416.  
  417. (And a final word about date modification: what's it for? Sex appeal,
  418. that's all. When you're delivering work that's twice-slick in every
  419. other respect, it's thrice-slick to have every file set to the same date
  420. and time. Software developers reading this will know _exactly_ what I
  421. mean. Racing stripes don't make sports cars _run_ any faster; they just
  422. make them _sell_ faster (grin).)
  423.  
  424.  
  425. Change file names: Here am I hoist by my own petard! As discussed below
  426. in "About Greg Swann", I write a lot of file conversion utilities. Each
  427. of these makes its own files from the source files, adding its own
  428. "extension" to make a unique file name. What's worse, many of these are
  429. eminently useful if used in combination. It's very easy to have a file
  430. called "theFile.TQM.XP8.TQM.SB!". Many of the options in Change file
  431. names exist to contain this mad proliferation of extensions.
  432.  
  433. In the pop-up menu, you have these choices:
  434.  
  435. Prompt individually - presents a dialog showing the current file name
  436. and inviting you to change it manually.
  437.  
  438. Use text fileユs slug line - intelligently parses the slug line inserted
  439. by a prior pass through Shane the Plane (see "Insert slug line in text
  440. files" below). If a Shane the Plane slug line is not found, this renames
  441. the file with text from the file. The method of selecting text is this:
  442. starting from the first non-white-space character, assemble up to 31
  443. characters of text or up to the next return character found, omitting
  444. any trailing whitespace characters. In all cases, colons are converted
  445. to hyphens (since the colon is the path separator in the Mac OS), and
  446. control characters are converted to space-bands.
  447.  
  448. (If the file is _not_ of type 'TEXT', the name will not be changed.
  449. Depending on the state of the Auto-pilot|Prompt radio group, Shane the
  450. Plane-inserted slug lines are either omitted or retained. If the slug
  451. line was not inserted by Shane the Plane (viz., if we are just using
  452. text from the top of the file), the slug is not omitted. If Auto-pilot
  453. is selected, and if we find a Shane the Plane-inserted slug line, then
  454. the slug line and any trailing white space characters are removed. If
  455. Prompt is selected, you will be prompted (once per session) as to
  456. whether you want to retain or omit Shane the Plane-inserted slug lines.
  457. This was done so that, if you are inserting slug lines for temporary
  458. reasons, you can get them back out efficiently.)
  459.  
  460. Remove all extensions - removes all extensions, from last to first. For
  461. all of these menu entries, an extension is defined as non-white-space
  462. characters at the end of the file name, fingering backward to a period
  463. character. The extension of "theFile.txt" is ".txt", but "theFile.txt
  464. Copy" _does not have an extension_, since there is a white-space
  465. character between the end of the line and the period. In all cases, we
  466. retain any text that does not fit this definition. If you ask to have 3
  467. extensions removed and only 2 are found, only those 2 will be removed.
  468. We're being extra-careful about this, because injudicious use of this
  469. function could result in the loss of files.
  470.  
  471. Remove all but 1st ext. - would convert "theFile.TQM.XP8.TQM.SB!" to
  472. "theFile.TQM".
  473.  
  474. Remove last ext. - would convert "theFile.TQM.XP8.TQM.SB!" to
  475. "theFile.TQM.XP8.TQM" or "theFile.TQM" to "theFile".
  476.  
  477. Remove last 2 exts. - would convert "theFile.TQM.XP8.TQM.SB!" to
  478. "theFile.TQM.XP8".
  479.  
  480. Remove last 3 exts. - would convert "theFile.TQM.XP8.TQM.SB!" to
  481. "theFile.TQM".
  482.  
  483. Custom extension - uses the text entered in the Extension text field
  484. below the pop-up. Both Extension and Prefix are limited to four
  485. characters, and a reasonable amount of error-checking is going on when
  486. the Start button is hit.
  487.  
  488. (Why four characters? Since a Macintosh file name is limited to 31
  489. characters in length, even four characters represents a significant
  490. fraction of its total size. The longer an extension or prefix is, the
  491. greater the likelihood of introducing duplicate file names. Shane the
  492. Plane adds _only_ the number of characters actually typed in the field.
  493. So, for example, the default Prefix ("・ ") adds only two characters. If
  494. you really want a much longer prefix or extension (which I think is a
  495. Bad Idea (not, mind, a Real Bad Idea)), load it into the paste buffer
  496. and use Prompt individually, pasting it into each name. Alternatively,
  497. run twice with different text in the affected field. Or see 'Rename with
  498. wildcards' below.)
  499.  
  500. Custom, removing exts. - same as above except that all pre-existing
  501. extensions are removed before the new one is tacked on.
  502.  
  503. Prefix - works like Custom extension except that the Prefix is put at
  504. the _front_ of the file name. This can be useful for forcing a sort
  505. ordering in List by Name view in the Finder, etc.
  506.  
  507. Prefix, removing exts. - take the previous two and interpolate (grin).
  508.  
  509. Remove prefix - removes a file name's prefix in a fairly tightly defined
  510. sort of way. The problem is this: extensions are pretty much an accepted
  511. standard, going back to Unix and before. We can all agree what an
  512. extension looks like and respond accordingly. But the concept of
  513. prefixing file names is new with the Mac, and there really isn't any
  514. accepted practice about how to do it. So what we're doing is this:
  515. first, we're examining the Prefix text field. If the first N characters
  516. of the file name match the N characters of the Prefix you've typed, we
  517. are omitting those N characters. That means that _you_ can establish
  518. what you want removed by typing into the Prefix text field. Second, if
  519. that test fails, we are looking for a prefix in the form of: 1 non-white
  520. space character immediately followed by 1 white space character (e.g.,
  521. "* "). A non-white space character is any legal file-naming character
  522. _other_ than space or option-space. A white space character is either
  523. space or option-space, nothing else. If the file name matches that
  524. "mask", we remove the first two chararters (only) of the file name.
  525.  
  526. Rename with wildcards - uses Torquemada's syntax to give you a batch
  527. renaming capability such as the DOS- and UNIX-heads are always boasting
  528. about. Rub their noses in this, because it's _much_ more powerful.
  529. Unfortuantely, it's somewhat more complicated, first because Mac
  530. filenames are larger and more flexible than what passes for filenames
  531. under DOS, and second because Torquemada's complexity can leave users
  532. somewhat at sea. This feature was requested by Mike Arst and was added
  533. with version 2.0.1. It is extremely Arstian in its form, so, if you
  534. don't feel perfectly comfortable with it, just walk on by. Me feeling is
  535. that it has the potential to be immensely time-saving once in a blue
  536. moon, which scores it as a win in my book. If not in yours, it's cool.
  537. Really. (grin)
  538.  
  539. No business like UI business: if you select this in the pop-up, when you
  540. hit the Start... button you will be prompted for a source filename mask
  541. and a destination filname mask. These are analogous to Torquemada search
  542. and replace strings, and, in fact, they are entered in exactly the same
  543. way. If you're working interactively and you pop-up out and back in, you
  544. will be prompted for new masks. Otherwise, the masks will persist
  545. indefinitely (that is, until you Quit). Obviously, when you D&D you're
  546. only going to see them once, no matter what.
  547.  
  548. At the time the renaming business happens, the current filename plus the
  549. two masks are delivered to code that is, in fact, culled as is from
  550. Torquemada 1.2.2. In other words, in principle, every TQM 1.2.2 S&R
  551. operation can be done to your filenames. In practice, there are some
  552. limitations. If your filename ends up longer than 31 characters,
  553. something must be done. If Auto-pilot|Prompt is set to Prompt, you will
  554. be prompted for intervention. If Auto-pilot is set, the name will be
  555. truncated mercilessly at the 31st character. Obviously, you're never
  556. going to get a colon (":") into a filename, since that is the one
  557. illegal character in Mac filenames (another big score on D(uh)OS).
  558. Certain Torquemada constructs are meaningless (e.g., "^t" (tab) and "^p"
  559. (return)), since Shane the Plane insulates _all_ control characters in
  560. filenames as spacebands. And, finally, prior to System 8, the Mac OS
  561. ignored without comment name-change requests that entailed _only_
  562. changes in case. In other words, the case-changing TQM commands would
  563. _work_, but you have to change more than the case to get the Mac OS to
  564. concede that a change should really happen. _Any_ change is sufficient;
  565. a trailing space, a leading bullet, a change in spelling - anything that
  566. makes the old and new names different when case is ignored.
  567.  
  568. The manual that ships with Torquemada 1.2.2 runs to about 12,000 words,
  569. rather more space than I want to devote to one feature of Shane the
  570. Plane. So for a fuller understanding of the commands summarized below,
  571. refer to the Torquemanual. Incidentally (and mercenarily), if you're
  572. using Torquemada 1.1.0 (the FreeWare version), this list should make
  573. plain why you should upgrade: the stuff that's new is way powerful.
  574.  
  575. RENAME WITH WILDCARDS QUICK REFERENCE
  576.  
  577. ALIASESムMatch special text characters
  578.   ^T or ^t    Tab
  579.   ^P or ^p    Carriage return
  580.   ^^          Caret
  581.   ^ú          ú  ({OPT-h})
  582.   ^û          û  ({OPT-k})
  583.  
  584. UNTYPED WILDCARDSムMatch any one character
  585.   ^0, ^1, ^2, ^3, ^4
  586.  
  587. TYPED WILDCARDSムMatch any one character of that type
  588.   ^+    Uppercase character (includes accented characters)
  589.   ^-    Lowercase character (includes accented characters)
  590.   ^ア    Character of either case (includes accented characters)
  591.   ^&    Alphanumeric character (letter or number, not space or punctuation)
  592.   ^%    Tabular character (digit, space or punct.; not alphabetical)
  593.   ^$    Printable character (all characters _except_ space characters)
  594.   ^「    Any character _EXCEPT_ return
  595.   ^!    Punctuation character (includes high-ASCII punctuation)
  596.   ^.    Sentence Punctuation character (.,;:!?)
  597.   ^#    Numeric character (digits only)
  598.   ^_    Space character (space, return, tab, option space)
  599.   ^ツ    Space character (space, tab, option space, but _NOT_ return)
  600.  
  601. DO-IT-YOURSELF WILDCARD-Match any one character of the type you define
  602.   ^ヌ...ネ    "..." is your definition
  603.  
  604. WILDSTRINGSムMatch and store any text until full pattern is matched
  605.   ^*, ^~, ^?, ^@
  606.  
  607. THE WILDSTRING MODIFIER-Constrain following wildstring to type of
  608.                         preceding wildcard or character
  609.   ^<
  610.  
  611. CASE CONVERSION COMMANDSムCan be used only on the replace side;
  612.                          accented characters are handled
  613.                          intelligently
  614.   ^C or ^c    CONVERT TO ALL CAPS
  615.   ^L or ^l    convert to all lower case
  616.   ^S or ^s    Convert to sentence caps
  617.   ^U or ^u    Convert To Upstyle Caps
  618.   ^D or ^d    Convert to Downstyle Caps
  619.   ^=          Cancel all case conversion
  620.  
  621. If you Drag & Drop files, the name of the _first_ file will appear in
  622. Geneva below the Prefix and Extension fields before you hit Start. After
  623. you hit Start, the names of the files in the batch will be shown in
  624. sequence as they are processed.
  625.  
  626. The Auto-pilot|Prompt radio button group controls how Shane the Plane
  627. deals with untoward file naming events. If the newly created name is the
  628. same as that of a file that already exists in the destination folder,
  629. that other file will either be replaced automatically or you will be
  630. prompted for action, depending on the state of this radio button. If
  631. adding a Prefix or Extension would result in a file name longer than 31
  632. characters (the Mac max), the name will either be truncated
  633. automatically, or you will be prompted for action. If it is truncated
  634. automatically, the truncation will happen to the _base_ name, _before_
  635. the addition of the new text. In this way (with Extensions), you
  636. preserve the characters you're trying to add! As discussed above, the
  637. Auto-pilot|Prompt radio group determines whether you will be prompted to
  638. discover if you want to omit Shane the Plane-inserted slug lines when
  639. Use text file's slug line is selected, or if you want them to be omitted
  640. automatically. Finally, if the new name is exactly the same as the old
  641. name, the renaming will either be skipped or you will be prompted for
  642. action, depending on the state of this radio button. My advice: leave it
  643. set to Prompt (the factory default). You won't be prompted that often,
  644. but Murphy's Law of Disk Recovery Software says that the only file that
  645. can't be recovered is the one that can't be replaced. The File You Save
  646. May Be Your Own!
  647.  
  648. (About "Prompting": this is all run out of a smart dialog that tells you
  649. what it wants you to do and won't let you do anything illegal. It's
  650. oppressively modal, but there is nothing in Mac-land that is quite so
  651. modal as naming files.)
  652.  
  653. (Modal: This is so much a part of the Mac landscape that we tend not to
  654. notice it. The thing that makes character-oriented software so loathsome
  655. to use is its overuse of "modes". You can't select when you're in the
  656. insertion mode; you can't type when you're in the selection mode. Mac
  657. software is modeless wherever possible, introducing modes _only_ where
  658. modelessness would be inherently dangerous. A Macintosh mode is denoted
  659. by a modal dialog box, and you _must_ legally dismiss that dialog before
  660. you can proceed. Thoughtful handling of modelessness and modes is what
  661. separates the sheep from the lambs among Graphical User Interfaces. More
  662. than anything else, this is what makes also-rans like Windows and Motif
  663. seem so alien to Mac hacks.)
  664.  
  665.  
  666. Insert slug line in text files: this inserts the current name of the
  667. file in any file _of type TEXT_. All other types are ignored. This
  668. option is disabled when "Use text fileユs slug line" is selected in the
  669. "Change file names" pop-up, for obvious reasons. Fair warning: do not
  670. use this on Styled Text files! A Styled Text file (such as those
  671. produced by Nisus) has the creator type 'TEXT', but there are pointers
  672. into the text in the resource fork that will be hosed when the slug line
  673. is inserted. Every one of those pointers will be "off" by the number of
  674. characters in the slug line, which will produce interesting but not very
  675. useful results. In the same respect, certain text editors (such as
  676. BBEdit) store the current insertion point/selection in the resource
  677. fork. These pointers will also be "off" by the size of the slug line,
  678. but this is far smaller consequence.
  679.  
  680. (Kip asked during testing what might be the consequences for RTF files.
  681. My answer: I don't know. I don't use RTF, so I don't know how fussy it
  682. is. If you _do_, test this function on a _copy_ of your RTF file before
  683. committing to it as a useful procedure.)
  684.  
  685. The slug line looks like this (everything between but not including the
  686. rows of dashes):
  687.  
  688. -----
  689. // Filename: nameOfFile
  690.  
  691. -----
  692.  
  693. "// Filename: " is for uniqueness in searching (as with my own
  694. Torquemada the Inquisitor) and because anything (on one line) after two
  695. slashes is interpreted as a comment in Think C and all C++ compilers
  696. (viz., programmers can use Shane the Plane to comment their source files
  697. with the name of the file). The extra return is there to be pretty
  698. (grin). "nameOfFile", of course, is the current (possibly newly changed)
  699. name of the file. The slug is prepended at the zeroth position in the
  700. file, and everything after that is the literal text from the file. The
  701. resource fork of the file is not changed.
  702.  
  703.  
  704. Change Finder flags: okay, now we're back to this. This is complicated
  705. enough that we're doing as much as we can to simplify it. For example,
  706. with Drag & Drop batches, we are collecting information about the
  707. pre-existing state of files and reporting it by means of graphic symbols
  708. (thus making one of the busiest dialogs in Mac history, alas).
  709.  
  710. Two of these symbols are generic, and two are specific to a particular
  711. check box.
  712.  
  713. The diamond symbol refers to the first file in the Drag & Drop batch. It
  714. tells you that particular Finder attribute is _set_ in the first file in
  715. the batch (this may not be true for _every_ file in the batch). If you
  716. want to _retain_ this attribute (for the whole batch), you must check
  717. the associated check box.
  718.  
  719. The circle symbol refers to _some_ (and possibly all) files in the
  720. batch. It is used with "Remove custom icons" and "Remove PS font BNDLs"
  721. to let you know that one or more files in the batch meets the criteria
  722. for those check boxes. Since those functions are harmless on files that
  723. _don't_ have the appropriate resources, it's safe to run them on (what
  724. might be) a mixed batch.
  725.  
  726. The square symbol refers _only_ to "Make all in folder visible". It
  727. tells you that one or more files in the folder(s) where files reside are
  728. currently invisible.
  729.  
  730. The triangle symbol refers _only_ to "Install custom icons". It tells
  731. you that there are "pasteable" icons in the clipboard.
  732.  
  733. (All of this will make more sense when we discuss these switches in
  734. detail. But first:)
  735.  
  736. The Macintosh Finder works asynchronously. That is to say, it defers
  737. some jobs that it judges to be less important until one of the following
  738. things occurs: 1. it gets around to doing them, 2. the hardware is idle
  739. enough that it feels confident to have enough time to do house-keeping,
  740. or 3. an update is forced by some user- or software-initiated event. Why
  741. is this important? First, because, with respect to these switches and
  742. some others, we're pulling some cute stunts to force updates. And,
  743. second, because the cute stunts don't work for every case, most notably
  744. for "Stationery pad" and "Lock file name". So: keep in mind that if you
  745. don't see an immediate update consequent upon the changes you have made,
  746. you may need to close then open the folder (thus forcing an update).
  747.  
  748. Now then, these are the switches:
  749.  
  750. Lock file: This is the same as checking the Lock file check box in the
  751. Get Info window. A locked file can't have its name changed (except from
  752. Shane the Plane), can't be deleted (unless you hold down the option key
  753. while selecting Empty Trash), can't be Saved under its own name, and
  754. can't have a custom icon pasted into it (except from Shane the Plane).
  755. (A previously locked file will generate the stupid Finder message when
  756. accessed by Shane the Plane, but it's meaningless in this context.) A
  757. diamond means the first file in the batch is locked.
  758.  
  759. Lock file name: a file with its name locked can't be renamed from the
  760. Finder (it can be from Shane the Plane), and can't have custom-icons
  761. pasted in (except from Shane the Plane). Lock file name is a nice
  762. feature for managers and consultants who look after novice users. And,
  763. ideally, all printer font files should have their names locked, since a
  764. font ceases to work as soon as its name is changed. Take note that Lock
  765. file name is updated slowly by the Finder, and that the file name may
  766. _not_ be locked when the file is on the desktop (Finder bug?). A diamond
  767. means the first file in the batch has its name locked.
  768.  
  769. Stationery pad: makes any document into a "template". Most
  770. Stationery-aware applications will open it into an untitled window. Take
  771. note that Stationery pad is updated slowly by the Finder. A diamond
  772. means that the first file in the batch is a stationery pad.
  773.  
  774. Make invisible: in a Drag & Drop batch of files, makes all of them
  775. invisible when checked. Interactively, makes the particular file visible
  776. or invisible, depending on how the check box is set. The difference is:
  777. you can't Drag & Drop an invisible file (grin). In consequence, there
  778. will never be a diamond.
  779.  
  780. Make all in folder visible: for every file in the folder (but not
  781. subfolders), makes all invisible files visible. Files you may not have
  782. known were invisible (such as custom folder icons) will show up as well.
  783. A square means one or more files in the _folder_ are invisible. (Because
  784. files can be Dragged & Dropped from multiple folders (about which more
  785. below), this will make visible all files in _all_ affected folders;
  786. worth keeping in mind if you're looking for a surgical strike and not
  787. the Scorched Earth policy.)
  788.  
  789. Has custom icon: sets or clears the flag _only_, depending on the state
  790. of the check box. This by itself is pretty useless; it's this guy's two
  791. children who do the interesting stuff. But: a diamond means that the
  792. first file in the batch has this flag set.
  793.  
  794. Install custom icons: if there are icons in the clipboard, they will be
  795. pasted into all files selected, and the custom icons flag will be set if
  796. this check box is checked. If there are no icons in the clipboard, you
  797. will be invited to copy some in. This is elemental coolness made flesh,
  798. in my not very humble opinion (grin). Does nothing you couldn't do by
  799. hand from the Finder, but Shane the Plane does it so much faster. Like
  800. much of Mac-cool, this is nothing more than the sizzle on the steak; but
  801. what sizzle! A triangle means there are icons in the clipboard at the
  802. time of the Drag & Drop.
  803.  
  804. Remove custom icons: rips out all ICN#-family resources (with I.D.
  805. -16455) found in the batch and clears the custom icons flag. A full set
  806. of color icons takes up ア2.5K, so the disk space savings can add up over
  807. a large batch (which you can then proceed to squander with the
  808. above-mentioned switch? (grin)). A circle means that one or more files
  809. in the batch have the custom icon flag set (implying the presence of
  810. icon resources). Since only particular resource types with the I.D.
  811. number -16455 are removed, this is harmless if used on a file that
  812. _doesn't_ have any custom icons.
  813.  
  814. Has BNDL resource: sets or clears the bundle bit _only_ (again, this is
  815. the dopey father to the wise child below). Changing the state of the
  816. bundle bit (about which much more below) is usually a Real Bad Idea - no
  817. consequences, but Norton Utilities (etc.) won't love you. A diamond
  818. means the first file in the batch has its bundle bit set.
  819.  
  820. Remove PS font BNDLs: clears the bundle bit _and_ removes any
  821. ICN#-family resources, the BNDL resource, the FREF resource, and the
  822. font's owner resource (e.g., 'APSF' for Adobe PostScript Fonts). In
  823. other words, what's left when this is done will be 'POST' and 'vers'
  824. resources, if any. Works _only_ on files with type 'LWFN' (PostScript
  825. Type 1 or Type 3 fonts from any foundry). The effect is to make copying
  826. fonts as fast as copying any other like-sized documents. Further down,
  827. we'll discuss why this is so. A circle means that one or more files in
  828. the _batch_ are LWFNs with bundle bits set. As with "Remove custom
  829. icons", this is harmless on files that _don't_ have the resource types
  830. we're omitting. Fonts processed this way will have their creator changed
  831. to sTp2 and will have a special Shane the Plane font icon applied to
  832. them.
  833.  
  834. (Fair warning: This is a one-way street. Short of reverting to a back-up
  835. of your fonts or going back to their original floppies, you can't put
  836. this djinn back in the bottle. I can't imagine why you'd want to, but
  837. it's only fair to mention that you are making a _permanent_ change to
  838. the files.)
  839.  
  840.  
  841. Parting shot: there is a lot of intelligent disabling going on with
  842. these Finder flags. The intent behind this (freely confessed) modality
  843. is to avoid doing potentially logically conflicting things
  844. (quasi-)simultaneously. In truth, I could allow you to, for example,
  845. make the batch of files invisible while making all others in the folder
  846. visible. But it seems to me to invite confusion. In other cases, such as
  847. "Remove PS font BNDLs", the disabled functions would contend with great
  848. vigor, something like an alligator fight leaving two well-fed dead
  849. 'gators (grin). In any case, the admonition is: "But, gentlemen, you
  850. _overdo_ the mode" (emphasis added). In software that is this dangerous
  851. (as I will keep pointing out), it doesn't seem overdone to me...
  852.  
  853.  
  854.  
  855. 5. Not for Flight Engineers only...
  856.  
  857. Okay, this is details regarding the details:
  858.  
  859. For starters, here's something cool: Because Shane the Plane is Apple
  860. Event-aware, you can Drag & Drop batches of files from multiple folders,
  861. then execute the whole widely dispersed batch when you hit Start. In
  862. general, I expect this is mere frill, but I opted not to make it
  863. _im_possible (it's possible by default) because I thought it might be
  864. useful occasionally. Every time files are Dropped on the icon the entire
  865. batch and all relevant folders are queried for the batchwise information
  866. reported in Finder flags, so that information is always up to date for
  867. the _whole_ batch (Remove custom icons and Remove PS font BNDLs) and for
  868. _every_ folder from which files have been Dropped (Make all in folder
  869. visible). This is important: if you check Make all in folder visible,
  870. every file in _every_ affected folder will be made visible. Take note
  871. also that Shane the Plane imposes a 256 file limit on the size of a
  872. batch. This would not be a problem with files Dropped from one folder,
  873. since 256 files in a single folder is slow death, but it might come up
  874. with files Dropped from multiple folders. Normally my Drag & Drop stuff
  875. imposes no limits (though I often say "512", just to establish that the
  876. number is so large as to be meaningless). But in Shane the Plane we are
  877. storing information about each file Dropped, and I wanted to keep the
  878. memory commitment relatively small.
  879.  
  880. Near the point: the default memory partition of Shane the Plane is and
  881. _must be_ 512K. If you watch About this Macintosh/the Finder, you'll see
  882. that the bar never gets filled. You might think this means there is some
  883. room for you to cut the partition. There isn't. While we're running,
  884. we're allocating and disposing of large blocks of memory faster than the
  885. Finder can record, so the heap often _is_ completely filled, even though
  886. the Finder doesn't report that fact. This is not really a terribly large
  887. problem, since we're checking to make sure we have the memory we need
  888. before we commence to doing anything. If we're short on memory, we don't
  889. do any work.
  890.  
  891. (For what it's worth: you should never change the memory partition on
  892. utility software. You can safely change it on (Window-oriented)
  893. applications software, because each opened Window has associated
  894. dynamically allocated memory. If you can live with fewer windows, you
  895. can live on less memory. But: in general, (Dialog-oriented) utility
  896. software uses statically allocated memory and will malfunction if it
  897. can't get all it needs. Certainly it will thrash a lot more, compacting
  898. and re-compacting the heap to make space for itself (this is also true
  899. of Window-oriented software), and it may act very flakey. Making the
  900. partition smaller is an anachronism from the days when Macs were small
  901. and stupid. I think it's best forgotten, with the rule of the road
  902. being, if you want to change a partition, make it _larger_...)
  903.  
  904. As mentioned above, Shane the Plane's Apple Events-awareness makes it
  905. (conceivably) possible to run it from an intelligent agent. I don't know
  906. enough about scripting to tell you how to do this, but I _do_ want to
  907. point out that, at a minimum, your script will need to be able to issue
  908. a "return" (0x0D) or "enter" (0x03) keystroke. This is because Shane the
  909. Plane _must_ be explicitly started by hitting the Start button. Since
  910. that button is the default, you can "hit" it with the keystrokes, but
  911. you _must_ post some kind of event to initiate execution. I don't know
  912. if this is possible with Frontier or AppleScript alone, but certainly it
  913. is possible using a QuicKey in combination with scripting software. To
  914. do this properly, you should spawn a copy of Shane the Plane with all
  915. the prefs you will want set and Saved; the Auto-pilot|Prompt radio group
  916. should be set to "Auto-pilot". I don't know that I love this as an idea,
  917. but it will work; it will take software that more or less requires
  918. interaction and make it run as an unattended daemon's familiar.
  919.  
  920. Eminently nerd-like hack: every piece of software by me that has a
  921. Preferences menu (Shane the Plane, Clip 'n' Save, ShawBerry, and the
  922. forthcoming Mark My Words) stores its preferences in the resource fork
  923. of the software itself. The Default prefs are stored in 'PREF' resource
  924. 128, and the Saved prefs are stored in PREF 129. When you Save
  925. preferences, PREF 129 is re-written with your new settings. If you are
  926. comfortable with ResEdit, you can use it to give yourself two sets of
  927. stored preferences. Do this (on a _copy_ of Shane the Plane, of course):
  928.  
  929. 1. Establish you second-favorite settings and Save preferences. Quit.
  930.  
  931. 2. Open the copy of Shane the Plane from ResEdit, and navigate your way
  932. to PREF 129. Select all and Copy.
  933.  
  934. 3. Open PREF 128, Select All and Paste. Save and Close the file. The two
  935. resources are now identical, with both containing your second-favorite
  936. settings.
  937.  
  938. 4. Launch Shane the Plane again and establish your (first-)favorite
  939. settings and Save preferences. Now when you do Restore defaults, you'll
  940. get your second-favorite settings, and when you do Restore saved prefs,
  941. you'll get your (first-)favorite settings, which will also be loaded
  942. automatically with every subsequent launch.
  943.  
  944. If you have DiskTop or DeskZap or some other utility that lets you
  945. change Finder flags, you may wonder why Shane the Plane gives you access
  946. to so _few_ of them. The reason is this: because most of them are
  947. utterly useless. DiskTop and DeskZap give you access to _all_ of them,
  948. even though most of them are without practical consequences. There is
  949. one exception, which we're going to discuss. The Inited bit says that a
  950. file has been seen (initialized) by the Finder; it has been recorded in
  951. the Desktop database, and its position in the folder has been
  952. established. What this means is that you will _never_ see a healthy file
  953. that _has not_ been Inited. If you clear this switch in DiskTop/DeskZap,
  954. the Finder will reinitialize the file in short order, with the
  955. (possible) observable outcome being that the file will move in its
  956. folder. Originally, Shane the Plane was going to make the Inited bit
  957. available to be changed, but we left it out because it's so
  958. preternaturally useless. _However,_ there _are_ a few occasions where
  959. we're changing it on our own: the Inited bit is cleared in instances
  960. where the Finder is reluctant to update in a timely fashion (as with
  961. Lock name and Stationery pad). And: the Inited bit is cleared when the
  962. result of a switch setting is to create a new file from the old (Install
  963. custom icons, Remove custom icons, Remove PS font BNDLs, and Insert slug
  964. line in text files).
  965.  
  966. Take note with respect to the above paragraph: except for changing the
  967. Inited bit in the few instances named, we are being careful to change
  968. only the things you ask to have changed. So, for example, even though
  969. the effect of Remove custom icons is to create a new file identical to
  970. the old but with the icons omitted, the created/modified dates and times
  971. will _only_ change if you explicitly change them. Likewise, all of the
  972. goofy Finder flags to which you do not have access from Shane the Plane
  973. are passed unaltered.
  974.  
  975. I wanted to say a few words about Make invisible. For the most part, I
  976. think it's a Real Bad Idea. Apple explicitly advises against it, with
  977. what seems to me to be good reason. On the other hand, I myself have
  978. particular need to make a certain few files invisible. So what I have to
  979. say is this: if you don't have an overwhelmingly good reason to make
  980. files invisible, don't do it. They do not call attention to their
  981. presence, so they can soak up valuable hard disk real estate without
  982. your knowing about it. It is _because_ they are potentially so
  983. pernicious that Shane the Plane looks for them wherever he goes,
  984. offering you the chance to make them visible.
  985.  
  986. Regarding Remove PS font BNDLs: Did you ever double-click on one of your
  987. font folders, then have to reboot because the damn thing wouldn't open?
  988. Did you ever wonder why it takes so long to copy a font folder? Well,
  989. here's a real knee-slapper: it's because the font vendors are
  990. deliberately crippling your Macintosh with advertising!
  991.  
  992. To quote Dave Barry: I am not making this up!
  993.  
  994. If you drop an unaltered PostScript printer font file on Shane the
  995. Plane, you'll see that it "Has BNDL resources". What does this mean...?
  996.  
  997. The BNDL resource (itself) associates a file's owner resource (same name
  998. as the Creator type), it's FREF resource, and its icons. The presence of
  999. the BNDL resources (with the bit set) occasions an entry into the
  1000. Desktop database for the file (almost always executable software). The
  1001. Desktop DB entry tells the Finder what icons to use for files
  1002. (associated FREF entries) created by the software. Because of this,
  1003. ordinary files don't need BNDL resource of their own.
  1004.  
  1005. The most notable exception to this logic is PostScript printer font
  1006. files, each of which has a set BNDL resources. Why? For reasons of
  1007. vanity and advertising. Since there is no application associated with
  1008. fonts, they'd come up with plain document icons without their BNDLs.
  1009. It's the BNDLs, not the +/- 400 bytes of excess resource baggage, that
  1010. make fonts so slow to copy, etc.; each one must be entered in the
  1011. Desktop DB for no good reason.
  1012.  
  1013. To make this clear: _because_ PostScript printer font files have BNDL
  1014. resources, the Finder must spend a _lot_ more time dealing with each one
  1015. than it would have to do if the BNDL resources were stripped and the
  1016. "Has BNDL resources" bit cleared. This is what Shane the Plane does if
  1017. you select "Remove BNDL resources". It is not enough to simply clear the
  1018. bit, since disk-fixing utilities like The Norton Utilities will simply
  1019. reset it at their next opportunity. But after the resources are removed
  1020. and the bit cleared, the printer font files will behave as normal
  1021. documents. They'll copy as fast as any other like-sized documents and
  1022. their folders will open as quickly as other folders with that many files
  1023. in them (still not awfully fast to be frank, but fast_er_). They'll
  1024. still be perfectly fine _as fonts_, since, qua fonts, all that matters
  1025. are the POST resources (Type 1) or the contents of the data fork (Type
  1026. 3), all of which is retained. All we're doing is ripping out the
  1027. Mac-crippling advertising.
  1028.  
  1029. (Take note: this function will change _only_ files of type 'LWFN', but
  1030. it will change LWFNs with any creator (that is, from any vendor).)
  1031.  
  1032. BNDL issue 1: making this change may violate your license agreement with
  1033. your font vendor(s). If it does, you're on your own, but I'd _love_ to
  1034. hear the font vendors assert their legal right to cripple and crowd your
  1035. computer with entirely non-functional, hyper-redundant advertising.
  1036. Unlike the FreeWare utility DeBNDLer (which does not work for me), we
  1037. are not preserving the owner resource as a 'vers' resource, which means
  1038. the copyright information will not be visible from the Get Info window
  1039. _unless_ the font has 'vers' resources of its own (as do, for example,
  1040. all Agfa fonts). The font is still protected by copyright however! (I
  1041. would say "obviously", but there is evidence enough that people find
  1042. this little bit of obviousness too easy to overlook.) Moreover, it is
  1043. still _explicitly_ copyrighted in the POST resources and/or data fork.
  1044. It will have a Shane the Plane creator and a distinctive Shane the Plane
  1045. printer font icon, but it is still and always the copyrighted
  1046. intellectual property of its original vendor, usable and transferrable
  1047. only according to the terms of the license agreement. In other words, I
  1048. can't believe a judge would fault you for stripping out the BNDLs,
  1049. especially given their hostile perniciousness. But I have no doubt at
  1050. all that a judge would (quite properly) nail you to the wall for using
  1051. Shane the Plane as your excuse to steal fonts.
  1052.  
  1053. BNDL issue 2: because font folders take so long to open when the fonts
  1054. still have their BNDLs (the folders _do_ open, it just takes longer than
  1055. normal mortals can stand to wait), I have made a folder-aware Drag &
  1056. Drop utility called Oscar the (Moderately Awe-Inspiring) Cat (who is
  1057. pictured in About Shane the Person). Oscar the Cat removes the BNDLs and
  1058. clears the BNDL bit from any LWFNs found in that whole folder
  1059. _hierarchy_. In other words, it starts immediately within the folder
  1060. Dropped and works its way down that whole folder tree. Oscar the Cat
  1061. ships only with the unrestricted version of Shane the Plane, and is
  1062. licensed only to purchasers of the unrestricted version of Shane the
  1063. Plane. You would use it like this: do all your existing fonts at once
  1064. with Oscar the Cat, then process newly purchased fonts with Shane the
  1065. Plane.
  1066.  
  1067. Here's an interesting question: what is the point of "Change file
  1068. names/Use text file's slug line"? This is Kip Shaw's agenda, his methods
  1069. are covered in detail in Appendix A. His text is eminently worth
  1070. reading, since he is developing a hyper-efficient text-processing
  1071. methodology around Shane the Plane and other tools. But here's the short
  1072. course:
  1073.  
  1074. 1. Suppose you are going to be using a bunch of utilities like mine,
  1075. each of which will add its own extension to the files it produces.
  1076. Before doing anything, you could run the originals through Shane the
  1077. Plane, checking "Insert slug line in text files". This will put the
  1078. file's own true original name within it. Then you run all the
  1079. extension-appending utilities. When you finish, take the final versions
  1080. of the files and Drop them on Shane the Plane. Check "Change file
  1081. names/Use text file's slug line". The files will be renamed with the
  1082. true original names of the true original files.
  1083.  
  1084. 2. This is Kip's coolest trick the quick way: suppose you have a great
  1085. batch of similar files. My own utilities (such as Torquemada the
  1086. Inquisitor) will do the same stuff to each file of a batch, but if you
  1087. have to make global changes in an interactive editor, it would be far
  1088. better to have all the text in one file. Otherwise, you'll have to make
  1089. each global change in each file - slow and error-prone. So what you
  1090. could do is this:
  1091.  
  1092. a. Run the originals through Shane the Plane, checking "Insert slug line
  1093. in text files". This will put the file's own true original name within
  1094. it.
  1095.  
  1096. b. Concatenate the whole batch of files (using my own Cat o' Seven
  1097. Tails, for example).
  1098.  
  1099. c. Do all of your editing on the concatenated file, using either your
  1100. interactive editor or batch-oriented utilities.
  1101.  
  1102. d. Segment the concatenated file using my Caesura. Divide at 
  1103. "// Filename:" (which is one reason why this text is so odd) and select
  1104. "Divide at paragraph-ending BEFORE string". This will chop the files
  1105. back up in their original segments. But: their names will be
  1106. auto-generated by Caesura. So:
  1107.  
  1108. e. Run the newly created segments through Shane the Plane, checking
  1109. "Change file names/Use text file's slug line". The files will be renamed
  1110. with the true original names of the true original files.
  1111.  
  1112. If your goal is to show these files as "galleys", you can elect to
  1113. retain the slug line on the second pass through Shane the Plane. That
  1114. way, other people editing paper copies of the text will know which file
  1115. they are working on. Otherwise, you can elect to omit the slug line. As
  1116. discussed above, the slug line is omitted automatically when the
  1117. Auto-pilot|Prompt radio group is set to "Auto-pilot". When it is set to
  1118. "Prompt", you will be prompted once per session to discover what you
  1119. want to do.
  1120.  
  1121. Shane the Plane and aliases: Shane the Plane resolves aliases to the
  1122. _true file referred to by the alias_. That is to say: if you Drop an
  1123. alias of a file on the icon, the alias itself will not be altered, the
  1124. file _referenced_ by the alias will be altered. Forewarned is forearmed!
  1125.  
  1126. Finally, as your reward for wading through all this stuff: you can abort
  1127. a Drag & Drop batch of files after you hit the Start button by holding
  1128. down the Command and Period keys. The abort will happen _between_ files,
  1129. so anything already started will be fully done, and anything unstarted
  1130. will be undone. Rather than trying to figure out what to do next, we're
  1131. just beeping twice then quitting, to give you the opportunity to do what
  1132. you need to before proceeding. Given that I'm mentioning it this late in
  1133. the manual, you might guess that I think this abort feature is a Real
  1134. Bad Idea. I've only implemented it so that you can contain the damage,
  1135. if you realize late that your settings are a horrible mistake. My main
  1136. advice is: this software is DANGEROUS, so don't make horrible mistakes!
  1137. (grin)
  1138.  
  1139.  
  1140.  
  1141. 6. About Greg Swann...
  1142.  
  1143. Okay, here's the deal: I'm not just a developer, I'm a user of software
  1144. as well. I make about half of my money doing Desktop Publishing. In
  1145. consequence, I have a pretty clear idea of how to focus utilities
  1146. designed to plug gaps in the functionality of major applications. I am
  1147. quite sure there are a _lot_ of developers brighter than I am. But the
  1148. evidence of experience suggests that few of them have my advantage of
  1149. living on both sides of the line, so to speak.
  1150.  
  1151. What does this mean?
  1152.  
  1153. First, it means that I have written a _lot_ of mission-critical
  1154. utilities in support of the software categories of interest to me: file
  1155. management, font management, automated text processing,
  1156. PostScript-processing, and automated DTP-software preparation. All but
  1157. four of these utilities are FreeWare (the exceptions being Shane the
  1158. Plane and the three packages discussed below) and are available from
  1159. Info-Mac and other electronic information services (including any
  1160. service offering access to the Arizona Macintosh User's Group
  1161. BBS-In-A-Box CD-ROM).
  1162.  
  1163. Second, it means that if you are likewise interested in these software
  1164. categories, it behooves you to support my work. Fanmail is always nice,
  1165. of course, but remuneration is the sincerest form of flattery (grin).
  1166. Seriously: this is a business, even if a microscopically small one. It
  1167. has been worthwhile so far because the other things commanding my
  1168. attention have not been as lucrative. But that is changing (of course,
  1169. and obviously, _because_ of all the software). I can make a _lot_ of
  1170. money writing custom software for contracted clients. And I can
  1171. streamline my own production work without having to monkey-proof and
  1172. document my tools. So: if I am to keep doing this, I have to make it
  1173. pay. If you _want_ me to keep doing it, you have to pay me. It's that
  1174. simple.
  1175.  
  1176. In many ways, retail software is simpler. You pay or you don't play, and
  1177. no one has any illusions. The difference is, the developer needs a
  1178. _much_ larger capital commitment, and he needs to surround himself with
  1179. babbling morons in suits who might - just possibly - be good for
  1180. something other than chuckling about football. Electronically
  1181. distributed software gets around that trap, but introduces the problem
  1182. exposed here: the ambiguity of the sales transaction results in a lot of
  1183. prostrate begging by developers. I don't beg, but I don't work for free
  1184. except on my own terms for my own good reasons.
  1185.  
  1186. There are three possible "futures" for authors of electronically
  1187. distributed software. 1. The rewards do not justify the effort, so the
  1188. author goes and plays tennis or something. 2. The author produces
  1189. software as an after-work hobby and continues to do so more or less
  1190. irrespective of user-response (some of the best and worst FreeWare comes
  1191. out of this category). 3. The author's growing reputation results in him
  1192. getting more contracted custom programming work, worth more money, to
  1193. the point that he no longer has time to produce electronically
  1194. distributed software.
  1195.  
  1196. It is the last that is happening to me, and this is why you need to
  1197. support my work, if you want it to continue. I'll do all right whether
  1198. I'm working on problems that confront you or on the problems of some
  1199. corporation. But: if you are using software by me that has a commercial
  1200. version (and all of them are discussed here), and if you want me to
  1201. _continue_ thinking about your problems, rather than the problems of
  1202. Consolidated MediCalc - you know what to do...
  1203.  
  1204. These are my commercial programs:
  1205.  
  1206. XP8 - a very intelligent file filter that cleans up and makes the
  1207. filthiest text QuarkXPress-ready. Among many other features, it
  1208. offers DOS-file reformatting, financial-text clean-up, garbage
  1209. disposal, typographic quality enhancement, and the best quote
  1210. conversion we know of. The ShareWare version of XP8 (v1.0.0) can be
  1211. found in CompuServe's Desktop Publishing Forum (GO DTPFORUM),
  1212. Library 5, under the name XP8.SEA or in the Info-Mac archives as
  1213. GST-XP8Demo.sit. The current commercial version is v1.0.7 and offers
  1214. a great many enhancements over the ShareWare version.
  1215.  
  1216. Torquemada The Inquisitor - batch global search and replace software
  1217. with wildcards, pattern matching, string substitution, et very
  1218. cetera. With Drag & Drop under System 7 and above, you can run up to
  1219. 640 searches on up to 128 files in one batch. Features the most
  1220. intelligent case-conversion we know of. The most-recent FreeWare
  1221. version (1.1.0) can be found under the name TORQUE.SEA in Library 5
  1222. or in the Info-Mac archives as GST-TorqueDemo.sit. The current
  1223. commercial version is 1.3.0, offering a great many enhancements,
  1224. including new "wildthings" and a _lot_ of new User Interface power.
  1225. The commercial version ships with Torquemada's Ghost, a scriptable,
  1226. backgroundable Torquemada. A DemoWare version of Torquemada's Ghost
  1227. is available as TGHOST.SEA in Library 5 or in the Info-Mac archives
  1228. as GST-TGhostDemo.sit.
  1229.  
  1230. Shane the Plane 2.0.2 - file and font attribute editing utility.
  1231. Interactively or in Drag & Drop batches, permits you to change the
  1232. Creator/Type of files, their created/modified dates and times, a
  1233. host of significant Finder flags, plus a lot more. Makes files
  1234. invisible/visible, makes fonts behave like files by removing their
  1235. BNDL resources, batch "pastes" custom icons, intelligently renames
  1236. and/or "slugs" files, et very cetera. A demonstration version (fully
  1237. functional but limited to 32 launches) can be found in Library 12
  1238. under the name SPDEMO.SEA or in the Info-Mac archives as
  1239. GSU-STPDemo.sit.
  1240.  
  1241. Mark My Words - a very elaborate MS-Word binary to QuarkXPress Tags
  1242. text filter. It eats Word 4.0, 5.0 or 5.1 files, interactively or by
  1243. Drag & Drop, and converts the binary to QuarkXPress tagged text. You
  1244. can elect to include or omit any feature of Word's styling, and many
  1245. features can be converted from their WP-like form to their DTP-like
  1246. form (e.g., underscoring to italic). With Em Software's Xtags
  1247. Xtension, picture and text boxes (including Word's tables) can be
  1248. retained. A demonstration version (fully functional but limited to
  1249. 32 launches) can be found in Library 12 under the name MMWDEM.SEA or
  1250. in the Info-Mac archives as GST-MMWDemo.sit.
  1251.  
  1252. (While I've vectored all the files toward CIS and the internet, my
  1253. primary haunt, they are also available on other services, and on any BBS
  1254. which has the most recent version of AMUG's BBS-In-A-Box CD-ROM on
  1255. line.)
  1256.  
  1257. All of these programs are sold on the same terms: (US)$50 each, per
  1258. license. Two to 10 licenses are $45 each. For 11 or more licenses you're
  1259. better off buying a site license. All of this is explained in the
  1260. registration software supplied with this archive.
  1261.  
  1262. These programs are included on the distribution disk for the
  1263. unrestricted version of Shane the Plane:
  1264.  
  1265. * Shane the Plane v2.0.2 - discussed here as some length (!)
  1266.  
  1267. * Oscar the Cat v1.0.0 - PostScript font BNDL removal software licensed
  1268. as a premium to purchasers of Shane the Plane.
  1269.  
  1270. * XP8 v1.0.0 - ShareWare version of the commercial software
  1271.  
  1272. * Torquemada the Inquisitor v1.1.0 - FreeWare version of the commercial
  1273. software
  1274.  
  1275. * Mark My Words v1.0.0 - DemoWare version of the commercial software
  1276. (when it becomes available)
  1277.  
  1278. * Caesura v1.0.0 - FreeWare file segmentation software
  1279.  
  1280. * Cat o' Seven Tails - FreeWare file concatenation software
  1281.  
  1282. Plus some other stuff...
  1283.  
  1284.  
  1285.  
  1286. 7. Conclusion...
  1287.  
  1288. Jeez, haven't you had _enough_...? (grin)
  1289.  
  1290. Seriously: that's it. If you have any questions or problems, the easiest
  1291. way to get hold of me is by email at:
  1292.  
  1293.     gswann@kagi.com
  1294.  
  1295. If you can't do that, you can snail mail me at:
  1296.  
  1297.     Greg Swann
  1298.     3608 West Cochise Drive
  1299.     Phoenix, AZ 85051
  1300.  
  1301.  
  1302.  
  1303. Very Best,
  1304.  
  1305.  
  1306.  
  1307. Greg Swann
  1308.  
  1309. 8/1/98
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315. Appendix: Real World Shane the Plane
  1316.  
  1317. ... or ...
  1318.  
  1319. What good is a shortstop without the other infielders?
  1320.  
  1321.  
  1322.  
  1323. by Kip Shaw
  1324.  
  1325.  
  1326.  
  1327. Fleet of foot and with a mighty arm, Shane covers a lot of ground
  1328. deep in the hole. But once he's snagged a wicked line drive, who's
  1329. he going to throw it to? Thanks to Manager Greg Swann (whose team
  1330. is aptly called the "Swanney Ribbers" because they are fond of
  1331. jokes), some shrewd trades were made: Protecting second base is
  1332. "Cat o' Seven Tails," and over at first is that fearless lefty
  1333. "Caesura." Some may say, "But are they as good as Tinker, Evers,
  1334. and Chance from the glory days of the Chicago Cubs?" You bet they
  1335. are. Here's how they turn a triple play.
  1336.  
  1337. First, let's describe the wicked line drive that is streaking
  1338. toward Shane: it's a batch of text files generously provided by one
  1339. of your friendly clients. Unless you've housebroken this client,
  1340. the files no doubt will be filled with garbage. Not only will you
  1341. need to weed out all the multiple spacebands, multiple carriage
  1342. returns, etc., but you might also be called upon to do some
  1343. copyediting - perhaps relatively simple stuff like making all the
  1344. "a.m."s and "p.m."s consistent, or maybe a whole lot more. Before
  1345. you plunge into these tasks, let Shane snare this line drive - drag
  1346. & drop all the files on Shane and do this: check *on* the "Insert
  1347. slug lines in text files." As previously described in these docs,
  1348. this will put the filename at the beginning of each file.
  1349.  
  1350. The slug line looks like this (everything between but not including
  1351. the rows of dashes):
  1352.  
  1353. -----
  1354. // Filename: nameOfFile
  1355.  
  1356. -----
  1357.  
  1358. with "nameOfFile" being (surprise) the name of the file that appears
  1359. in a Finder window and the file's title bar. If you're not happy
  1360. with the names of the files - perhaps the client made them
  1361. unnecessarily long or uselessly nondescriptive - then also do this
  1362. in Shane at the same time: check *on* the "Change file names"
  1363. checkbox and select "Prompt individually" in the popup. In this
  1364. way, you can quickly change some or all of the file names and
  1365. *also* have the new names inserted as a slug line in the text
  1366. files.
  1367.  
  1368. Now that all the files are properly slugged, it's time for Shane to
  1369. whip the ball over to the secondbaseman, "Cat o' Seven Tails." For
  1370. those of you who might not be aware of Cat's prowess, let me wax
  1371. eloquent: Cat does one thing, and does it lightning fast - he
  1372. concatenates. For those of you who don't know what "concatenate"
  1373. means - look in the dictionary! <g> Okay, I'll tell you -
  1374. "Concatenate. To connect or link in a series or chain." So, if you
  1375. drag & drop all your now-Shaned client's files onto Cat, they will
  1376. be joined together (in the order they were selected in the Finder)
  1377. into one file, aptly named "Concatenated files." Why, you ask,
  1378. bother to join all the files together? Why not continue to work on
  1379. them individually? Sure, you could work on them separately, but
  1380. often - especially when editing is involved, and you need to refer
  1381. quickly back and forth between files - it can be a whole lot easier
  1382. if they're all in one file. And don't worry - once the ball gets
  1383. over to our first baseman, you will easily be able to split them
  1384. apart again.
  1385.  
  1386. But we're still at second base with Cat. Do whatever copyediting you
  1387. need to do on the "Concatenated files" file. Run it through XP8 and
  1388. Torquemada (who are other stellar members of the Swanney Ribbers).
  1389. Massage that text to your heart's content! Once done, you might have
  1390. a file now named "Concatenated files.XP8.TQM.XP8.TQM.SB!." ("SB!" -
  1391. what's that, you ask? Another member of the team - ShawBerry - a
  1392. true hall of famer. But that's another story.)
  1393.  
  1394. Okay. So Cat and his teammates have now served up something like
  1395. "Concatenated files.XP8.TQM.XP8.TQM.SB!." Time to sling that
  1396. over-extended filename to the fearless firstbaseman, Caesura. Some
  1397. fans of a rival team have spread malicious rumors that Caesura is
  1398. Cat's evil twin - but don't pay any attention to this gossip. The
  1399. slander started when it was discovered that Caesura has only one
  1400. goal in life - to undo what Cat has done. Caesura *splits* a file
  1401. into segments. What these rival fans didn't realize, though, is
  1402. that Cat and Caesura work in harmony. Here's how:
  1403.  
  1404. First, do yourself a favor: shorten the bloated filename to
  1405. something like "Catted" because Caesura likes to add its own
  1406. extension to the file name, which will makes things even more
  1407. unwieldy. Then boot up Caesura and you'll be asked two things: 1)
  1408. "Specify a string at which to divide" and 2) whether to "Divide at
  1409. paragraph-ending BEFORE string" (the default) *or* "Divide at
  1410. paragraph-ending AFTER string." Thanks to shortstop Shane, our
  1411. string of choice is easy: "// Filename" - and, therefore, we should
  1412. use the "Divide before string" default. Then, click on Caesura's
  1413. "Start" button and navigate in the dialog over to our baseball -
  1414. "Catted" - then click on the "Open" button. Caesura will now split
  1415. the catted file into the original segments that your client gave
  1416. you. Only problem is that the filenames will be useless - Caesura
  1417. simply appends a numerical extension to each of the segments -
  1418. e.g., "Catted.001" - not very descriptive!
  1419.  
  1420. But like any peerless infielders who have just completed a triple
  1421. play, the ball is flung around the horn - back to Shane. Drag &
  1422. drop the Caesura-segmented files onto Shane, and in the "Change
  1423. file names" popup, select "Use text file's slug line." (You might
  1424. also want to change the creator/type to your favorite text editor
  1425. at this point to rid yourself of the Caesura creator/type.) Just
  1426. like magic (which any fan will tell you baseball truly *is*), Shane
  1427. restores the original file names. You'll notice that the first
  1428. Caesura-segment's file name hasn't changed - it's still
  1429. "Catted.001." That's because it's garbage - a non-file - because
  1430. there obviously wasn't any text found before the first "//
  1431. Filename" string that was the marker you entered in Caesura. You
  1432. can trash it.
  1433.  
  1434. That's it. Inning over. And like all triple plays, it takes less
  1435. time to *do* than to *describe.*
  1436.